package com.lovo.project.dao;

import com.lovo.project.model.PermissionDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @title 权限持久层接口
 * @author: luo
 * @date: 2020/11/3 21:33
 */
public interface PermissionDAO {

    /**
     * 添加权限
     *
     * @param permissionDO 所要添加的权限对象
     * @return 影响数据库的行数
     */
    int insertPermission(PermissionDO permissionDO);

    /**
     * 修改权限
     *
     * @param permissionDO 新的权限
     * @return 影响数据库的行数
     */
    int updatePermission(PermissionDO permissionDO);

    /**
     * 按权限编号查询权限信息
     *
     * @param permissionId 权限编号
     * @return 权限对象
     */
    PermissionDO selectPermissionById(Integer permissionId);

    /**
     * 动态查询权限
     *
     * @param permissionName
     * @return 查询到的权限集合
     */
    List<PermissionDO> selectPermissionByInfo(@Param("name") String permissionName);

    /**
     * 按权限编号删除权限
     *
     * @param permissionId 权限编号
     * @return 影响数据库行数
     */
    int deletePermissionById(Integer permissionId);
//
//    /**
//     * 按名字查询权限
//     * 查询权限是否存在
//     *
//     * @param permissionName 权限名字
//     * @return 存在返回对象，不存在返回null
//     */
//    PermissionDO selectPermissionByName(String permissionName);

}
